package org.ptkparty.client.request;

import java.util.List;

import org.ptkparty.client.model.UserProxy;
import org.ptkparty.shared.model.UserEntity;

import com.google.web.bindery.requestfactory.shared.InstanceRequest;
import com.google.web.bindery.requestfactory.shared.Request;
import com.google.web.bindery.requestfactory.shared.RequestContext;
import com.google.web.bindery.requestfactory.shared.Service;

@Service(UserEntity.class)
public interface UserRequest extends RequestContext {

	Request<List<UserProxy>> getAllUser();

	InstanceRequest<UserProxy, Void> persist();

	Request<Void> save(List<UserProxy> users);

	InstanceRequest<UserProxy, Void> remove();

	Request<UserProxy> getCurrentUser();

	Request<List<UserProxy>> getUsersByChampionship(String championship);

}
